【头歌 您所在的位置:网站首页 KS曲线 r 【头歌

【头歌

2023-06-19 11:46| 来源: 网络整理| 查看: 265

第1关:绘制温度曲线 任务描述

附件中是某月每天的最高温度和最低温度数据,请绘制本月的高温曲线(红色、圆点标记坐标)和低温曲线(蓝色、星号标记坐标),线型、刻度如输出示例所示,线宽度默认值,并设置图表标题为"9月温度曲线图",标题字体为宋体(‘SimSun’),默认字号。

plt.rcParams['font.sans-serif'] = ['SimSun'] plt.rcParams['axes.unicode_minus'] = False

要求程序代码运行无误,按要求绘制温度曲线并保存为图片。

输入格式

该题目没有输入

输出格式

绘制结果写入文件’temp_curve.png’中

下图为示意图,具体效果需严格按照题目要求设置 在这里插入图片描述

参考代码 import matplotlib.pyplot as plt import numpy as np plt.rcParams['axes.unicode_minus'] = False plt.rcParams['font.sans-serif'] = ['SimSun'] with open('step2/9.1 某月温度.txt', 'r', encoding='utf-8') as f: data = [] for lines in f.readlines(): data.append(list(map(int, lines.split()))) x = [d[0] for d in data] y1 = [d[1] for d in data] y2 = [d[2] for d in data] plt.plot(x, y1, color = 'r', marker='o') plt.plot(x, y2, color = 'b', marker='*') plt.xticks(list(range(1, 32))) plt.yticks(list(range(-10, 30, 5))) plt.axhline(0, linestyle='--', color='b') plt.title('9月温度曲线图') plt.savefig('output/temp_curve.png') plt.show() 第2关:分态密度图 任务描述

根据附件中的数据文件绘制分态密度图,在同一个图中绘制多条曲线,数据中第一列为横坐标值,后面各列为纵坐标值,第一列与后面的每一列的数据组合可绘制一条态密度曲线,未明确要求的线型和宽度使用默认值。

评分标准 绘制如输出示例所示的态密度曲线图在 x 值为 0 处绘制平行于 y 轴直线,线型为破折线,红色,线宽为1设置线条颜色依次为 ‘blue’, ‘green’, ‘red’, ‘purple’,‘gray’,‘Navy’,‘violet’,‘Gold’,‘Black’x 轴加标签 “E-Ev(eV)”,y 轴加标签 “DOS”增加图名 “BaTiO3 分态密度曲线图”,中文字体为宋体’SimSun’,字号用默认值,要求保证中文正常显示 输入输出示例

(示例图与本题数据与要求不同,仅供参考) 在这里插入图片描述

参考代码 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimSun'] plt.rcParams['axes.unicode_minus'] = False color = ['blue', 'green', 'red', 'purple','gray','Navy','violet','Gold','Black'] with open('step3/DOS_SUM.txt', 'r', encoding='utf-8') as f: data = [] for lines in f.readlines(): data.append([line for line in lines.strip().split() if line!='']) for i in range(9): x = [float(d[0]) for d in data] y = [float(d[i+1]) for d in data] plt.plot(x, y, color=color[i]) plt.axvline(0, linestyle='--', c='red', linewidth=1) plt.xlabel("E-Ev(eV)") plt.ylabel("DOS") plt.title("BaTiO3 分态密度曲线图") plt.savefig("output/stu.png") plt.show() 第4关:态密度曲线绘制 任务描述

根据附件中的数据,绘制如下图所示的态密度曲线:

基本曲线x,y轴刻度范围根据数据自动产生线型用实线,曲线颜色为红色,x轴坐标标题为Energy(Ha),y轴坐标标题为Density of States(electrons/Ha) 输入格式

此题无输入

输出格式

要求本地调试、运行、绘制图形。

示例输出仅供参考 在这里插入图片描述

参考代码 import matplotlib.pyplot as plt with open('step5/DosOfBaTiO3.txt', 'r', encoding='utf-8') as f: data = [] for lines in f.readlines(): data.append(list(map(float, lines.strip().split('\t')))) x, y = [], [] for d in data: x.append(d[0]) y.append(d[1]) plt.plot(x, y, color='r', linewidth=1) plt.xlabel('Energy(Ha)') plt.ylabel('Density of States(electrons/Ha)') plt.savefig('output/exam.png') plt.show()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有